Usage:
wunderland <command> [options]
Commands:
setup Interactive onboarding wizard
init <dir> Scaffold a new Wunderbot project
create [description] Create agent from natural language
start Start local agent server
chat Interactive terminal assistant
hitl Watch/resolve approvals & checkpoints
doctor Health check: keys, tools, connectivity
channels List configured channels
channels add Add a channel interactively
channels remove <id> Remove a channel
config Show current config
config get <key> Get a config value
config set <key> <val> Set a config value
voice Voice provider status
voice tts TTS provider status & configuration
voice stt STT provider status & configuration
voice test <text> Test TTS synthesis
voice clone Interactive voice cloning wizard
cron Scheduled jobs management
status Agent & connection status
seal Seal agent config (integrity hash)
list-presets List personality & HEXACO presets
skills Manage agent skills
extensions Manage agent extensions
rag RAG memory management
agency Multi-agent collective management
workflows Workflow engine management
evaluate Run evaluation suite
knowledge Knowledge graph operations
provenance Audit trail & provenance
marketplace Skill & tool marketplace
models List LLM providers & models
export Export agent as shareable manifest
import <manifest> Import agent from manifest file
plugins List installed extension packs
export-session Export chat session to file
ollama-setup Configure Ollama (local LLM)
version Show version
Global Options:
--help, -h Show help
--version, -v Show version
--quiet, -q Suppress banner
--yes, -y Auto-confirm prompts (non-interactive where possible)
--auto-approve-tools Auto-approve tool calls (fully autonomous)
--theme <plain|cyberpunk> UI theme (default: plain)
--ascii Force ASCII-only UI (auto-fallback in limited terminals)
--no-color Disable colors (also: NO_COLOR env)
--dry-run Preview without writing
--tui Force interactive TUI mode
--no-tui Force print-and-exit (skip TUI)
--config <path> Config directory path
Command Options:
--port <number> Server port (default: PORT env or 3777)
--model <id> LLM model override
--preset <name> Personality preset for init
--security-tier <tier> Security tier (dangerous/permissive/balanced/strict/paranoid)
--format <json|table> Output format
--lazy-tools Start with only schema-on-demand meta tools
--force Overwrite existing files
--skills-dir <path> Load skills from directory
--no-skills Disable skill loading
--export-png <path> Export command output as styled PNG screenshot
--dangerously-skip-permissions Skip permission/approval checks (dangerous)
--dangerously-skip-command-safety Disable shell command safety checks
wunderland v0.27.0
wunderland config --export-png output.png◆ Configuration File /Users/johnn/.wunderland/config.json ○ No configuration set. Run wunderland setup to get started.
◆ Wunderland Doctor ◇ Configuration ○ Config: config.json not created yet (run wunderland setup) ✓ Config: .env ○ Config: agent.config.json not in current directory ◇ API Keys ✓ Key: OPENAI_API_KEY set (••••••••8M8A) ✓ Key: ANTHROPIC_API_KEY set (••••••••wwAA) ✓ Key: OPENROUTER_API_KEY set (••••••••a12c) ✓ Key: ELEVENLABS_API_KEY set (••••••••55df) ◇ Channels ✓ Channel: telegram configured ✓ Channel: discord configured ✓ Channel: slack partially configured ○ Channel: whatsapp not configured ○ Channel: signal not configured ○ Channel: imessage not configured ◇ Connectivity ✓ Connectivity: OpenAI API reachable (115ms) ✓ Connectivity: https://wunderland.sh reachable (108ms) ◆ 10 passed, 5 skipped ⓘ In TTY mode, each check shows an animated spinner before resolving.
◆ Wunderland Status ╭ Agent ─────────────────────────────────────────────────────────────╰ │ Project no agent.config.json in current directory │ ╰────────────────────────────────────────────────────────────────────╭ ╭ LLM Keys ──────────────────────────────────────────────────────────╰ │ ✓ OPENAI_API_KEY ••••••••8M8A │ │ ✓ OPENROUTER_API_KEY ••••••••a12c │ │ ✓ ANTHROPIC_API_KEY ••••••••wwAA │ ╰────────────────────────────────────────────────────────────────────╭ ╭ Tool Keys ─────────────────────────────────────────────────────────╰ │ ✓ SERPER_API_KEY ••••••••9b8f │ │ ○ SERPAPI_API_KEY not set │ │ ○ BRAVE_API_KEY not set │ │ ✓ NEWSAPI_API_KEY ••••••••a145 │ │ ✓ GIPHY_API_KEY ••••••••wu61 │ │ ✓ PEXELS_API_KEY ••••••••cI3V │ │ ✓ UNSPLASH_ACCESS_KEY ••••••••Ezf0 │ │ ✓ ELEVENLABS_API_KEY ••••••••55df │ ╰────────────────────────────────────────────────────────────────────╭
◆ Agent Presets ID Name Security Skills ────────────────────── ────────────────────── ──────────── ────────────────── code-reviewer Code Reviewer strict coding-agent, github creative-writer Creative Writer balanced summarize, image-gen customer-support Customer Support Agent strict healthcheck data-analyst Data Analyst balanced summarize, coding-agent devops-assistant DevOps Assistant strict healthcheck, coding-agent, github personal-assistant Personal Assistant balanced weather, apple-notes, apple-reminders, summarize research-assistant Research Assistant balanced web-search, summarize, github security-auditor Security Auditor paranoid coding-agent, github, healthcheck ◆ Personality Presets ID Label Description ────────────────────────── ──────────────────────── ───────────────────── HELPFUL_ASSISTANT Helpful Assistant Organized, detail-oriented, accommodating CREATIVE_THINKER Creative Thinker Imaginative, unconventional, open ANALYTICAL_RESEARCHER Analytical Researcher Precise, systematic, thorough EMPATHETIC_COUNSELOR Empathetic Counselor Warm, supportive, patient DECISIVE_EXECUTOR Decisive Executor Direct, confident, results-driven ◆ HEXACO Trait Presets ID H E X A C O ────────────────────────── ────── ────── ────── ────── ────── ────── HELPFUL_ASSISTANT 0.8 0.5 0.6 0.8 0.8 0.7 CREATIVE_THINKER 0.7 0.6 0.7 0.6 0.5 0.9 ANALYTICAL_RESEARCHER 0.9 0.3 0.4 0.6 0.9 0.8 EMPATHETIC_COUNSELOR 0.8 0.8 0.6 0.9 0.7 0.7 DECISIVE_EXECUTOR 0.6 0.3 0.8 0.5 0.8 0.6 ◇ Use with: wunderland init my-agent --preset research-assistant
◆ LLM Providers & Models Provider Label Key Status Models ── ────────────────── ────────────────── ────────────── ──────────────────────── ✓ openai OpenAI configured gpt-4o-mini, gpt-4o, gpt-4.1-mini, gpt-4.1, o4-mini ✓ anthropic Anthropic configured claude-sonnet-4-5-20250… claude-haiku-4-5-202510… claude-opus-4-6 ✓ openrouter OpenRouter configured auto ✓ ollama Ollama (local) no key llama3, llama3.2:3b, mistral, codellama ○ bedrock AWS Bedrock not set anthropic.claude-sonnet, anthropic.claude-haiku ○ gemini Google Gemini not set gemini-2.0-flash, gemini-2.0-flash-lite, gemini-2.5-pro ○ github-copilot GitHub Copilot not set gpt-4o, gpt-4o-mini ○ minimax Minimax not set MiniMax-M2.1, MiniMax-VL-01 ○ qwen Qwen not set qwen-max, qwen-turbo ○ moonshot Moonshot not set kimi-k2.5, kimi-k2-instant ○ venice Venice not set venice-default, venice-fast ○ cloudflare-ai Cloudflare AI Gateway not set (configurable) ○ xiaomi-mimo Xiaomi Mimo not set mimo-v2-flash Total Providers 13
wunderland models test openai --export-png output.png◆ Testing OpenAI ✓ OPENAI_API_KEY is set ✓ API reachable (588ms)
wunderland channels --export-png output.png◆ Channel Bindings ○ No channels configured. ◇ Run wunderland channels add or wunderland setup to configure channels.
wunderland voice --export-png output.png◆ Voice Providers Telephony Twilio not configured TWILIO_ACCOUNT_SID not set TWILIO_AUTH_TOKEN not set Telnyx not configured TELNYX_API_KEY not set TELNYX_CONNECTION_ID not set Plivo not configured PLIVO_AUTH_ID not set PLIVO_AUTH_TOKEN not set TTS (9 providers — run wunderland voice tts for details) STT (8 providers — run wunderland voice stt for details) ◇ Configure voice providers via wunderland setup or by setting environment variables.
◆ TTS Providers Cloud OpenAI TTS configured (voice: nova) OPENAI_API_KEY set ElevenLabs configured (voice: rachel) ELEVENLABS_API_KEY set Google Cloud TTS not configured Amazon Polly not configured Azure Speech not configured Local Piper installed Coqui/XTTS not installed Bark not installed StyleTTS2 not installed Default: openai | Format: mp3 | Speed: 1.0 ◇ Configure TTS via wunderland setup or agent.config.json voice.tts settings.
◆ STT Providers Cloud OpenAI Whisper configured OPENAI_API_KEY set Deepgram configured (model: nova-2) DEEPGRAM_API_KEY set AssemblyAI not configured Google Cloud STT not configured Azure Speech not configured Local Whisper.cpp installed (model: base.en) Vosk not installed NeMo not installed Default: deepgram | Language: en ◇ Configure STT via wunderland setup or agent.config.json voice.stt settings.
◆ TTS Test Provider: openai | Voice: nova | Format: mp3 Synthesizing: "Hello, this is a voice test." ✓ Audio synthesized (2.4s, 38 KB) ✓ Playing via default audio device... Options: --provider=<id> Use a specific TTS provider --voice=<id> Override voice selection --output=<path> Save to file instead of playing --speed=<n> Playback speed (0.5–2.0)
◆ Voice Cloning Wizard Step 1: Select provider 1. ElevenLabs (cloud — requires API key) 2. Coqui XTTS v2 (local — GPU recommended) Step 2: Provide voice samples Enter path(s) to WAV/MP3 files, or type record to capture live. Step 3: Consent acknowledgement ⚠ Voice cloning requires explicit consent from the voice owner. Confirm you have obtained consent to proceed. Step 4: Clone & verify Synthesize a test phrase with the cloned voice for review. Step 5: Set as default (optional) Assign the cloned voice as the agent's default TTS voice.
wunderland cron --export-png output.png◆ Scheduled Jobs ○ No cron jobs configured locally. ◇ Cron jobs are managed via the Rabbithole dashboard or the agent's cron_manage tool. ◇ API: POST /wunderland/cron to create jobs programmatically.
◆ Available Skills ID Name Ver Description ────────────────────── ────────────────────── ──────── ────────────────── weather weather 1.0.0 Look up current weather conditions... github github 1.0.0 Manage GitHub repositories, issues... slack-helper slack-helper 1.0.0 Manage Slack workspaces, channels... discord-helper discord-helper 1.0.0 Manage Discord servers, channels... notion notion 1.0.0 Read, create, manage pages in Notion... obsidian obsidian 1.0.0 Read, create, manage notes in Obsidian... summarize summarize 1.0.0 Summarize text, web pages, documents... coding-agent coding-agent 1.0.0 Write, review, debug, refactor code... healthcheck healthcheck 1.0.0 Monitor health of systems, services... spotify-player spotify-player 1.0.0 Control Spotify playback, playlists... trello trello 1.0.0 Manage Trello boards, lists, cards... apple-notes apple-notes 1.0.0 Create, read, search Apple Notes... apple-reminders apple-reminders 1.0.0 Create, manage Apple Reminders... 1password 1password 1.0.0 Query 1Password vaults via CLI... image-gen image-gen 1.0.0 Generate images from text prompts... whisper-transcribe whisper-transcribe 1.0.0 Transcribe audio/video via Whisper... git git 1.0.0 Work with Git repositories from CLI... Total 17 skills
wunderland skills info weather --export-png output.png◆ Skill: weather ID com.framers.skill.weather Version 1.0.0 Description Look up current weather conditions, forecasts, and severe weather alerts for any location worldwide. Verified yes Keywords weather, forecast, climate, location Source registry
◆ Extension Packs Tools ✓ auth, web-search, web-browser, cli-executor, giphy, image-search, voice-synthesis, news-search, skills ○ browser-automation, deep-research, content-extraction, credential-vault, notifications, video-search, openverse, sound-search, music-search, smithsonian, github Channels (22 installed / 28 total) ✓ telegram, whatsapp, discord, slack, webchat, signal, imessage, google-chat, teams, matrix, zalo, email, sms, nostr, twitch, line, feishu, mattermost, nextcloud, tlon, irc, zalouser Voice (0/3) | Productivity (0/2) Installed 32 / 67
wunderland extensions list --export-png output.png◆ Available Extensions ◇ Tools: ✓ Authentication ✓ Web Search ✓ Web Browser ✓ Telegram (Legacy) ✓ CLI Executor ✓ Giphy ✓ Image Search ✓ Voice Synthesis ✓ News Search ✓ Skills Registry ✗ Browser Automation ✗ Deep Research ✗ Content Extraction ✗ Credential Vault ✗ Notifications ✗ Video Search ✗ Openverse ✗ Sound Search ✗ Music Search ✗ Smithsonian ✗ GitHub ◇ Voice: ✗ Twilio Voice ✗ Telnyx Voice ✗ Plivo Voice ◇ Productivity: ✗ Google Calendar ✗ Gmail ◇ Channels: ✓ Telegram ✓ WhatsApp ✓ Discord ✓ Slack ✓ WebChat ✓ Signal ✓ iMessage ✓ Google Chat ✓ Teams ✓ Matrix ... and 18 more ◇ Total: 67 extensions (32 installed)
wunderland extensions info web-search --export-png output.png◆ Extension: Web Search Name web-search Category tool Package @framers/agentos-ext-web-search Description Web search using DuckDuckGo by default; optional Serper/Brave API key for enhanced results. Status ✓ Installed Default Priority 20
wunderland rag --export-png output.png◆ wunderland rag Subcommands: ingest <file|text> Ingest a document ingest-image <file> Ingest an image (LLM captioning) ingest-audio <file> Ingest audio (Whisper transcription) query <text> Search RAG memory query-media <text> Search media assets collections Manage collections documents Manage documents graph GraphRAG stats RAG statistics health Service health audit View audit trail Flags: --collection <id> Target collection --format json|table Output format --top-k <n> Max results (default: 5) --preset <p> Retrieval preset (fast|balanced|accurate) --graph Include GraphRAG context in query results --debug Show pipeline debug trace (query) --modality <m> Media filter (image|audio) --verbose, -v Show audit trail (query) / per-op details (audit) --seed-id <id> Filter by seed ID (audit) --limit <n> Max results (audit, default: 20) --since <date> Filter since ISO date (audit)
wunderland rag health --export-png output.png◆ RAG Health Status ready Adapter better-sqlite3 Vector Provider sql Vector Store connected Embeddings available GraphRAG enabled Documents 5 Chunks 21 Collections 1
wunderland rag stats --export-png output.png◆ RAG Statistics Storage better-sqlite3 Documents 5 Chunks 21 Collections 1 wunderland-docs 5 docs, 21 chunks
wunderland rag collections --export-png output.png◆ RAG Collections wunderland-docs 5 docs, 21 chunks — Wunderland Documentation
wunderland rag documents list --export-png output.png◆ RAG Documents doc_1771646034356_jsfxqacb [technical] collection=wunderland-docs doc_1771646033221_a1tctvgg [technical] collection=wunderland-docs doc_1771646032125_9gclfd6p [technical] collection=wunderland-docs doc_1771646031117_phshmsxy [technical] collection=wunderland-docs doc_1771646023937_rfm7nk5g [technical] collection=wunderland-docs
wunderland rag query "agent security model" --debug --export-png output.png◆ RAG Query: "agent security model" [chunk_0] (100.0%) # Wunderland Security Model — Security Tiers... [chunk_3] (58.9%) ### Security Pipeline — Three-layer model... [chunk_1] (55.4%) ## Tier 3 — Ollama, OpenRouter, Perplexity... [chunk_1] (43.7%) ### WunderlandSeed — identity unit... [chunk_2] (36.9%) ## SmallModelResolver — Maps provider... ◇ 5 result(s) in 6280ms ◆ Debug Pipeline Trace [+0ms] query_received query=agent security model, preset=balanced, topK=5, vectorProvider=sql, strategy=similarity [+1ms] variants_resolved baseQuery=agent security model, variantCount=0 [+6279ms] vector_search provider=sql, candidateCount=0, latencyMs=6278, embeddingModel=text-embedding-3-small, dim=1536 [+6280ms] keyword_search enabled=true, matchCount=5, latencyMs=1 [+6280ms] fusion strategy=RRF, vectorCount=0, keywordCount=5, mergedCount=5 [+6280ms] pipeline_complete totalLatencyMs=6280, resultsReturned=5, hasGraphContext=false
wunderland rag query "security tiers" --graph --export-png output.png◆ RAG Query: "security tiers" [chunk_0] (100.0%) # Wunderland Security Model — Security Tiers... [chunk_3] (31.5%) ### Security Pipeline — Three-layer model... [chunk_1] (20.9%) ### WunderlandSeed... [chunk_1] (19.9%) ## Tier 3 Ollama... ◇ 4 result(s) in 323ms ◆ GraphRAG Context Entities 5 Security Tiers Five (concept) 68% Wunderland Security Model (concept) 61% Security Tier (concept) 53% Security Pipeline Three (concept) 50% Safe Guardrails (concept) 47% Relationships 26 Wunderland Security Model → Security Tiers Five [related_to] entity-ff2299e4 → Security Tier [related_to] ... and 20 more relationships Community Context Wunderland Security Model, Security Tiers Five; ...
wunderland rag query "LLM providers" --graph --debug --verbose --export-png output.png◆ RAG Query: "LLM providers" [chunk_0] (100.0%) # LLM Provider Ecosystem — 13 providers... [chunk_3] (67.1%) ### Security Pipeline... [chunk_0] (58.5%) # RAG System Design... [chunk_2] (48.8%) ## Pre-LLM Classification... [chunk_2] (40.0%) ## Document Processing... ◇ 5 result(s) in 689ms ◆ GraphRAG Context Entities 5 Relationships 42 Community Context Post, Social Dynamics Agents, Posts; ... ◆ Debug Pipeline Trace [+0ms] query_received query=LLM providers, graphRagRequested=true [+1ms] variants_resolved baseQuery=LLM providers, variantCount=0 [+677ms] vector_search provider=sql, latencyMs=676 [+678ms] keyword_search enabled=true, matchCount=5, latencyMs=1 [+678ms] fusion strategy=RRF, vector=0, keyword=5, merged=5 [+689ms] graphrag entities=5, relationships=42, searchTimeMs=11 [+689ms] pipeline_complete totalLatencyMs=689, results=5, hasGraph=true ◆ Audit Trail Trail ID trail-mlvyn6xw-1 Summary 2 ops | 0 LLM calls | 4 tokens | $0.0000 | 688ms Methods vector_query Sources 4 docs, 0 data sources
wunderland rag audit --export-png output.png◆ RAG Audit Trail [trail-mlvyn6] "LLM providers" @ 2026-02-21T06:51:19.652Z Summary 2 ops | 0 LLM calls | 4 tokens | $0.0000 | 688ms Methods vector_query Sources 4 docs, 0 data sources [trail-mlvx73] "agent architecture" @ 2026-02-21T06:10:49.147Z Summary 2 ops | 0 LLM calls | 5 tokens | $0.0000 | 614ms [trail-mlvskm] "How does RAG retrieval fusion work?" @ 2026-02-21T04:01:22.102Z Summary 2 ops | 0 LLM calls | 9 tokens | $0.0000 | 1ms [trail-mlvsjv] "How does the HEXACO personality model work?" @ 2026-02-21T04:00:47.253Z Summary 2 ops | 0 LLM calls | 11 tokens | $0.0000 | 146ms
wunderland rag graph stats --export-png output.png◆ GraphRAG Statistics Entities 148 Relationships 356 Communities 22 Community Levels 2 Documents Indexed 5
wunderland knowledge --export-png output.png◆ wunderland knowledge Subcommands: query <text> Search the knowledge graph stats Show graph statistics demo Load a demo graph and show stats Flags: --format json|table Output format
wunderland knowledge demo --export-png output.png✓ Demo Knowledge Graph Created Entities 4 Relations 2 Memories 1 Avg Confidence 90.5% Entities by Type person 1 concept 2 organization 1 ◇ Try: wunderland knowledge query Alice
wunderland knowledge stats --export-png output.png◆ Knowledge Graph Statistics ◇ Knowledge graph is empty. ◇ Entities, relations, and episodic memories are created during agent runtime. ◇ Start an agent with: wunderland start
wunderland provenance --export-png output.png◆ wunderland provenance Subcommands: audit Show audit trail and chain state verify Verify chain integrity (signatures + hashes) demo Create a demo chain and verify it Flags: --agent <id> Filter by agent --format json|table Output format
wunderland provenance demo --export-png output.png◆ Provenance Demo ◇ Creating demo signed event chain... ✓ #1 agent.started 2026-02-21T06:50:15.832Z hash: 735c886d32c09c52... sig: mH6QzMGAOMp5tYE6... ✓ #2 message.received 2026-02-21T06:50:15.834Z hash: f5a2fdc7bfb25fe0... sig: fa2vtZsS4yPjQofs... ✓ #3 tool.invoked 2026-02-21T06:50:15.834Z hash: 0abbc011d12a8d24... sig: +GDqw0de6kP0ulem... ✓ #4 message.sent 2026-02-21T06:50:15.834Z hash: ed41e7574fa58a02... sig: 7FEET7g9fTmWzYND... ✓ #5 agent.stopped 2026-02-21T06:50:15.835Z hash: 18e65e93b9034275... sig: 8GG1d+NRx/yvnfLd... Chain Length 5 Last Hash 18e65e93b9034275... Last Sequence 5 ◇ Verifying chain integrity... ✓ Chain Verified 5 events — all hashes and signatures valid.
wunderland agency --export-png output.png◆ wunderland agency Subcommands: list List configured agencies create <name> Create a multi-agent agency status <name> Show agency status add-seat <agency> <agent> Add agent to agency handoff <from> <to> Trigger agent handoff Flags: --format json|table Output format --context <text> Handoff context message
wunderland workflows --export-png output.png◆ wunderland workflows Subcommands: list List workflow definitions run <name> Execute a workflow status <id> Check workflow instance status cancel <id> Cancel a running workflow Flags: --format json|table Output format
wunderland evaluate --export-png output.png◆ wunderland evaluate Subcommands: run <dataset> Run evaluation against a dataset results <id> Show evaluation results Flags: --judge <model> LLM judge model (default: configured primary) --format json|table Output format
wunderland marketplace --export-png output.png◆ wunderland marketplace Subcommands: search <query> Search skills, tools, channels & providers info <id> Show item details install <id> Install an extension (npm) Flags: --format json|table Output format --source skills|tools|channels|providers Filter by source
wunderland marketplace search "weather" --export-png output.png◆ Marketplace: "weather" Skills ✓ weather Look up current weather conditions, forecasts, and severe weather alerts for any location worldwide. Results 1 of 85 items
Requires interactive terminal (TTY).
Walks through API key setup, channel configuration, and agent creation.
Creates agent.config.json, persona, and tools in target directory.
Use --preset to skip prompts: wunderland init my-bot --preset research-assistant
Generates agent config from a plain-language description using LLM.
Example: wunderland create "a helpful coding assistant that knows Python and Go"
Starts the agent HTTP server on --port (default 3777).
Loads agent.config.json from current directory.
Options: --lazy-tools, --model, --security-tier, --auto-approve-tools
Opens interactive chat in terminal with full tool access.
Options: --model, --security-tier, --auto-approve-tools, --lazy-tools
Detects Ollama installation, lists available models, and configures
OLLAMA_BASE_URL in ~/.wunderland/.env.
wunderland hitl --export-png output.png
✗ Missing HITL secret
Provide --secret <token> or set WUNDERLAND_HITL_SECRET.
Server UI: http://localhost:3777/hitl
Running wunderland with no arguments in a TTY launches an interactive dashboard. ┌─ WUNDERLAND v0.27.0 ────────────────────────────────────────┐ │ │ │ ◆ Agent: not configured ◆ LLM: openai / gpt-4o-mini │ │ │ │ ┌─ Quick Actions ────────────────────────────────────┐ │ │ │ > Start agent server [enter] │ │ │ │ Open chat [enter] │ │ │ │ Run health check [enter] │ │ │ │ Browse skills & extensions [enter] │ │ │ │ Query RAG memory [enter] │ │ │ │ Configure settings [enter] │ │ │ └────────────────────────────────────────────────────┘ │ │ │ │ ↑↓ navigate ⏎ select / search ? help q quit │ └──────────────────────────────────────────────────────────┘ Controls: ↑↓ Navigate Quick Actions / Search (command palette) ? Help overlay (stays in TUI) Enter Select / drill into interactive views Esc Close overlays / exit search q Exit cleanly (restores terminal) --no-tui Force print-and-exit mode --tui Force TUI even with --quiet Non-TTY (pipes, CI) automatically falls back to print-and-exit.
Any command can be exported as a styled PNG screenshot:
wunderland doctor --export-png doctor.png
wunderland skills list --export-png skills.png
wunderland models --export-png models.png
wunderland status --export-png status.png
wunderland list-presets --export-png presets.png
wunderland plugins --export-png plugins.png
Pipeline: ANSI → HTML (JetBrains Mono font, themed dark background)
→ PNG via Playwright (2x retina, high-DPI output)
Dependencies: ansi-to-html (ANSI→HTML), playwright-core (rendering)
Command Before (v0.23) After (v0.24) ──────────────── ──────────────────────────── ──────────────────────────────────── doctor Flat console.log checks Animated spinner per check (TTY), step progress status Plain text sections Bordered ╭╮╰╯ panel cards per section list-presets Manual padEnd() tables cli-table3 styled tables skills list Manual formatting cli-table3 with verified badge column models Provider loop with text Tabular grid with status badges plugins Category text blocks Per-category cli-table3 tables New Dependencies: cli-table3 ^0.6.5 ~30KB Proper table rendering with borders, ANSI-safe ansi-to-html ^0.7.2 ~15KB ANSI→HTML for PNG export pipeline